/*
 * 07字符串逆置.c
 *
 *  Created on: 2024年3月10日
 *      Author: HP
 */
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<time.h>

void inverse(char* ch){
	int i = 0;
	int j = strlen(ch) - 1;
	while(i<j){
		char temp = ch[i];
		ch[i] = ch[j];
		ch[j] = temp;
		i++;
		j--;
	}
	return ;
}

// 指针方式实现
void inverse02(char* ch){
	char* ftemp = ch;
	char* btemp = ch + strlen(ch) - 1; // 首地址+偏移量-1
	while(ftemp<btemp){
		char temp = *ftemp;
		*ftemp = *btemp;
		*btemp = temp;
		*ftemp++;
		*btemp--;
	}
}

int main0707(){
	char ch[] = "hello world";
	inverse02(ch);
	printf("%s\n", ch);
	return 0;
}

// 回文字符串：abcba, abccba
int symm(char* ch){
	char* ftemp = ch;
	char* btemp = ch + strlen(ch) - 1; // 首地址+偏移量-1
	while(ftemp<btemp){
		if(*ftemp != *btemp){
			return 1;
		}
		ftemp++;
		btemp--;
	}
	return 0;
}

int main070701(){
	char ch[] = "abcba";
	int value = symm(ch);
	printf("%d\n", value);
	if(!value){
		printf("相同\n");
	}else{
		printf("不相同\n");
	}
	return 0;
}
